[組織ポリシー]新しい Vertex AI Workbench のユーザー管理のノートブックとインスタンスで root アクセスを無効にするポリシーを試してみた
概要
Vertex AI Workbenchでインスタンスやノートブック作成時に、インスタンスに対するルートアクセス
をチェックできないようにする組織ポリシーがあります。
組織ポリシー名 | 内容 | 制約 |
---|---|---|
新しい Vertex AI Workbench ユーザー管理のノートブックとインスタンスで root アクセスを無効にする | このブール型制約を適用すると、新しく作成された Vertex AI Workbench ユーザー管理のノートブックとインスタンスで、ルートアクセスを有効にできなくなります。デフォルトでは、Vertex AI Workbench ユーザー管理のノートブックとインスタンスで root アクセスを有効にできます。 | constraints/ainotebooks.disableRootAccess |
本記事では、該当ポリシーの設定方法について調査検証してみました。
前提条件
- 組織ポリシーを操作できるロールを所持していること(組織の管理者など)
- 組織が作成されていること
- プロジェクトに対して組織ポリシーを設定する(親のポリシーをオーバーライドする)
※組織ポリシーの設定は環境によっては重大な影響を引き起こす可能性があるので十分検討・検証の上実施してください。
そもそもルート(root)アクセスとは何か
Vertex AI Workbenchのルートアクセスとは、Vertex AI WorkbenchのコンソールからJupyterLABにアクセスした際に、terminalをroot権限で使用できる機能です。
インスタンス(ノートブック)作成時に、インスタンスに対するルートアクセス
にチェックが入った状態で作成を実行すると、ルートアクセスが有効になった状態でインスタンスが作成されます。
ルートアクセスが有効になった状態でJupyber Labのterminalを開くと、root権限を保持した状態でアクセスできます。以下のようにroot昇格もパスワード認証なしで行うことが出来ます。
ルートアクセスを無効にした状態でインスタンス作成(または更新)を行うと、Jupyter Labのterminalでroot権限が必要なコマンドを実行するとパスワードを求められるようになります。
よって一般ユーザが意図せずroot権限でコマンド発行(パッケージの更新やインストールなど諸々)を行ってしまう危険性を排除することが出来ます。(ただしこの場合、事前に該当インスタンスへcompute ssh
コマンドなどでアクセスしてrootパスワードを発行しておかないとJupyter Labのterminalでroot昇格時のパスワード認証を突破することが出来ません)
本ポリシーをオンにするとインスタンス作成(更新)時のインスタンスに対するルートアクセス
のチェックボックスをチェックできないようにすることが出来ます。それでは実際に適用してみて動作を確認してみます。
組織ポリシーを適用してみる
準備
IAMと管理のメニューより組織ポリシーを選択し、画面真ん中あたりの検索ボックスにainotebooks.disableRootAccess
と入力して、constraints/ainotebooks.disableRootAccess
をクリックします。
Disable root access on new Vertex AI Workbench user-managed notebooks and instances
のポリシーが表示されるのでクリックします。
上記のポリシーの詳細が表示されますので、右上のポリシーを管理
を押下します。
以下の設定をします。(ルールはルールの追加
を押下すると設定できます)
設定項目 | 設定値 |
---|---|
ポリシーのソース | 親のポリシーをオーバーライドする |
ルール(適用) | オン |
設定値入力後はポリシーを設定
を押下します。
これで準備完了です。
確認
Vertex AIのインスタンス作成画面を開いてIAM とセキュリティ
の箇所でインスタンスに対するルートアクセス
の項目を確認してみてください。
グレーアウトして、チェックすることが出来ないですね。作成済みインスタンスでも同様にチェック不可になっているか確認してみます。
チェック不可になっていました。ちゃんと効果を発揮していますね。
まとめ
新しい Vertex AI Workbench のユーザー管理のノートブックとインスタンスで root アクセスを無効にする
ポリシーを用いるとroot権限でのアクセスを制御できることが確認できました。
インスタンス作成時にインスタンスに対するルートアクセス
をチェックして作成してしまうと意図せずroot権限で作業してしまい本番障害などにつながる可能性もあると思います。
ワークロードを考慮の上、必要であれば本ポリシーをオンにすると不慮の事故が発生する可能性も多少は低減するのかなと思いました。
本ポリシーを設定する上でこの記事が少しでもお役に立ったら嬉しいです。それではまた。
参考
Vertex AIへのアクセスについて
Jupyter Notebooks on Vertex AI Workbench prompts for password when using sudo #1992